/**
 *  本文件导出的对象用于在接收请求阶段构件default state，之后将写入到页面中，供redux使用。
 */


// 以下几个default***State均为非微信状态。
const defaultBookState = {
    render: {
        all: undefined,
        allpage: undefined,
        keywords: undefined,
        nowpage: undefined,
        timestamp: undefined,
        books: []
    },
    unrender: {
        // keyword字段承担两个作用：
        // 1. 在每次搜索后，分页器需要根据这个字段请求下一页
        // 2. 从微信进来的页面需要根据这个字段发请求
        keyword: undefined,
        // 根据微信的关键字搜索图书后，查看某本书的详情，此时
        // 界面滚动到书所在的位置，offset为书的偏移量
        offset: undefined,
        rec_books: []
    }
};

const defaultUserState = {
    render: {
        bind: undefined,
        book: [],
        // canrenew: undefined,
        // count: undefined,
        subscibe: [],
        timestamp: undefined,
        // usercookie: undefined,
        user: undefined
    },
    unrender: {
        isLogin: false,
        // 控制userpanel是否展开，移动端默认不展开，**此对象需要在浏览器内生成defaultstate时重新设置。
        isSpread: false,
        needchange: true,
        // 浏览器环境是否为微信，**此对象需要在浏览器内生成defaultstate时重新设置
        isWX: undefined,
        // 默认情况下没有WXID，当cookie中有OpenID时此字段被填充
        WXID: undefined,
        // 当环境为微信且未绑定畅校园时，通过此字段显示绑定按钮
        isGoBind: false,
        // 当前用户是否绑定了畅校园， true/false
        isBind: undefined
    }
};

const defaultAsideState = {
    render: {
        book: undefined,
        isLike: false,
        douban: {
            isbn: undefined,
            summary: undefined,
            link: undefined
        }
    },
    unrender: {
        // 控制aside是否展开，默认不展开
        isSpread: false
    }
};

const defaultMessageState = {
    'text': null,
    'isShow': false,
    // TODO: action字段功能待补充
    'action': undefined
};

module.exports = {
    defaultBookState,
    defaultUserState,
    defaultAsideState,
    defaultMessageState
}